190 PRINT"[147]";TAB(15)"DATAMAKER":PRINT 200 PRINT"WITH THIS PROGRAM, YOU CAN CONVERT" 210 PRINT"A MACHINE LANGUAGE PROGRAM IN THE " 220 PRINT"CASSETTE BUFFER, OR THE AREA STARTING " 230 PRINT"AT $C000, INTO BASIC DATA STATEMENTS.":PRINT 240 PRINT"THESE INSTRUCTIONS WILL BE DESTROYED," 250 PRINT"ALSO ANY BASIC PROGRAM THAT IS IN MEMORY" 260 PRINT"IT WILL NOT WORK FOR PROGRAMS IN THE" 270 PRINT"AREA 679-767 AS IT USES SOME OF THESE" 280 PRINT"LOCATIONS DURING EXECUTION." 290 PRINT"SINCE THE PAL ASSEMBLER ALSO DOES, IT" 300 PRINT"IS INCOMPATIBLE WITH PAL." 305 PRINT"(IT IS COMPATIBLE WITH SUPERMON).":PRINT 310 PRINT"YOU SHOULD HAVE YOUR M.L. PROGRAM IN" 320 PRINT"MEMORY BEFORE STARTING TO USE THIS " 330 PRINT"PROGRAM: IF YOU FORGOT TO DO THIS," 340 PRINT"EXIT THIS PROGRAM: LOAD IN YOUR OWN" 350 PRINT"ROUTINE, NOT FORGETTING THE ";CHR$(34);",8,1";CHR$(34);":" 355 PRINT"TYPE 'NEW', RELOAD 'DATAMAKER', AND" 356 PRINT"START OVER." 360 INPUT"CONTINUE (Y/N)";YN$:IFLEFT$(YN$,1)<>"Y"THEN END 370 PRINT"[147]YOU ALSO NEED TO KNOW THE START ADDRESS" 380 PRINT"OF YOUR M.L. ROUTINE, AND THE ADDRESS" 390 PRINT"OF THE BYTE IMMEDIATELY FOLLOWING THE" 400 PRINT"LAST BYTE OF YOUR PROGRAM; JUST AS YOU" 410 PRINT"DID WHEN SAVING WITH THE M.L. MONITOR.":PRINT 420 PRINT"ONCE YOU HAVE RUN THIS PROGRAM, YOU" 430 PRINT"SHOULD SAVE YOUR BASIC PROGRAM OF" 440 PRINT"DATA STATEMENTS, SO THAT YOU CAN WRITE" 450 PRINT"THE REST OF THE BASIC PROGRAM LATER.":PRINT 460 PRINT"THE LINE NUMBERS OF THE DATA STATEMENTS" 465 PRINT"START AT 40000: THERE ARE MORE THAN" 470 PRINT"ENOUGH LINES FOR A PROGRAM FILLING THE" 480 PRINT"ENTIRE $C000-$CFFF AREA.":PRINT 490 PRINT"WHEN THE PROGRAM FIRST STARTS, IT WILL" 500 PRINT"TELL YOU THE 'SYS' TO RE-ACTIVATE ITSELF"; 510 PRINT"SO WRITE THIS DOWN IF YOU WANT TO USE" 520 PRINT"IT MORE THAN ONCE.":PRINT 525 INPUT"CONTINUE (Y/N)";YN$:IFLEFT$(YN$,1)<>"Y"THEN END 530 PRINT"[147]DON'T FORGET TO TYPE ";CHR$(34);"NEW";CHR$(34);" AFTER" 540 PRINT"LOADING IN A FRESH M.L. PROGRAM.":PRINT 550 PRINT"DON'T SAVE YOUR DATA STATEMENT PROGRAMS" 560 PRINT"ON THIS DISKETTE: USE A WRITE-PROTECT" 570 PRINT"TAB IF YOU WISH.":PRINT 580 INPUT"CONTINUE (Y/N)";YN$:IFLEFT$(YN$,1)<>"Y"THEN END 590 PRINT"[147]"; 595 A$="START ADDRESS? ":B$="END ADDRESS? " 596 C$="ADDRESS TOO HIGH":D$="FATAL ERROR" 600 FORI=1TOLEN(A$):POKE678+I,ASC(MID$(A$,I,1)):NEXT 605 FORI=1TOLEN(B$):POKE693+I,ASC(MID$(B$,I,1)):NEXT 610 FORI=1TOLEN(C$):POKE751+I,ASC(MID$(C$,I,1)):NEXT 615 FORI=1TOLEN(D$):POKE740+I,ASC(MID$(D$,I,1)):NEXT 620 POKE707,100:POKE708,10:POKE709,1 625 NU=40000:HI=INT(NU/256):LO=NU-HI*256 630 POKE710,LO:POKE711,HI 640 SYS4331: 650 END